package cn.walls1717.mall.modules.pms.service;

import cn.walls1717.mall.modules.pms.dto.PageListDTO;
import cn.walls1717.mall.modules.pms.dto.RelationAttrInfoDTO;
import cn.walls1717.mall.modules.pms.model.PmsProductAttribute;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 商品属性参数表 服务类
 * </p>
 *
 * @author walls1717
 * @since 2022-04-09
 */
public interface PmsProductAttributeService extends IService<PmsProductAttribute> {

    /**
     * 商品属性规格或参数列表
     * @param pageListDTO 分页数据传输对象
     * @return 分页数据
     */
    Page<PmsProductAttribute> pageList(PageListDTO pageListDTO);

    /**
     * 添加商品属性
     * @param pmsProductAttribute 前端传入商品属性
     * @return 是否添加成功
     */
    boolean createAttribute(PmsProductAttribute pmsProductAttribute);

    /**
     * 删除商品属性
     * @param ids 被删除的 id
     * @return 是否删除成功
     */
    boolean delete(List<Long> ids);

    /**
     * 编辑页面展示筛选属性
     * @param productCategoryId product_attribute 表中的 product_attribute_category_id 字段
     * @return 查询到的数据
     */
    List<RelationAttrInfoDTO> getAttrInfo(Integer productCategoryId);

}
